Advanced Topics with Python
System Programming with Python
"System focused programming" might be the better term than "System Programming".
System programming or systems programming means often only the activity of "programming
system software", programs which are often part of the operating system.
Our topics in this section of our online course deal with Pipes, Threads and Forks and starting and
using shell commands and scripts from a Python script.
Python has various modules to support system focused programming.
The sys module is introduced in the first chapter. A focal point are the data streams (stdin, stdout, stderr) and redirections of streams.
The interaction between is the focus in the following chapter of our course.
The interaction between Python and the Linux Shell is another topic of our advanced section. This chapter is followed by Forks and Forking.
You can learn more about threads and threading in our Introduction into Threads. We show how to find the active IP addresses in a local network by using forks.
The chapter, which is subtitled as "Pipe, Pipes and '99 Bottles of Beer'" might be interesting to teetotallers as well, because it's not about alcohol but dealing with alcohol, even though the "99 bottles of beer" in the title give the impression. Instead, we show you how to write a program which is construing the famous American song "99 bottles of beer" by using forked processes and Pipes. So, if you need a good example of pipes and forks working together you will find it here.
Graph Theory
We have three chapters dealing with Graphs.- A general introduction into the Graph theory and the corresponding Python code can be found in "Graphs in Python" You will also here the implementations of a graph class with essential functionalities for graph creation, manipulation and calculations.
- Introduction into the module pygraph
- Introduction into the module NetworkX
Computer Science and Computer Linguistics
Finite State Machines are not only used in computer science but in natural language processing as well. We cover the concept of the Finite State Machine in great detail, so that even an amateur in Computer Science can understand the examples. At least we hope so.Alan Turing's Turing Machines and above all the underlying theory is a must for every computer scientist. We show a simple implementation of a Turing Machine.
If you are interested in Classifying documents, the Introduction into Text Classification using Naive Bayes and our Python Implementation of Text Classification will be the right chapters for you.
Numerical Computations with Python
If you want to get efficient and fast results with arrays and matrices, the NumPy module of Python is definitely the right tool collection for you. You will find answers to your questions in our tutorial, i.e. in our chapters "NumPy Module" and "Matrix Arithmetic".The module matplotlib is all you will need to plot and depict your data.
We also provide an introduction into Linear Combination
Music
It's also possible to create scores with Python: You can find a complete working example in Creating Musical Scores With PythonIf you feel that the above topics are to complicated or sophisticated for you, you might like our course for beginners in Python. You find a documented link list in the following lines:
Databases with Python
An introduction into using database interfaces in Python for SQL, MySQL and SQLite"Games"
What you find are not real games! We show a recursive solution to Towers of Hanoi and a game Cows and Bulls better known in a commercial version called "Mastermind".Online Course
Further Topics
Our next Training Courses
Our next open Python classes with Bernd Klein, the author of this website:
Amsterdam:
Python Intensive Course
24 - 28 Oct 16 21 - 25 Nov 16
Django Python Web Application Framework Course
24 - 28 Oct 16
Python Text Processing and Computer Linguistics Course
8 - 12 Aug 16
Berlin:
Python Intensive Course
22 - 26 Aug 16 21 - 25 Nov 16
Django Python Web Application Framework Course
19 - 23 Sep 16
Python Text Processing and Computer Linguistics Course
19 - 23 Sep 16
Python Course: Level III
19 - 23 Sep 16
Hamburg:
Python Intensive Course
21 - 25 Sep 16 17 - 21 Oct 16
Python Course: Level I
4 - 8 Jul 16
Python Course: Extending and Embedding
17 - 21 Oct 16
Lake Constance / Zurich:
Python Intensive Course
8 - 12 Aug 16 5 - 9 Dec 16
Python Course: Extending and Embedding
18 - 22 Jul 16
Django Python Web Application Framework Course
17 - 21 Oct 16
Python Text Processing and Computer Linguistics Course
17 - 21 Oct 16
Python Course: Level III
18 - 22 Jul 16
London:
Python Intensive Course
22 - 26 Aug 16
Django Python Web Application Framework Course
12 - 16 Dec 16
Python Text Processing and Computer Linguistics Course
21 - 25 Sep 16
Luxembourg / Brussels:
Python Intensive Course
19 - 23 Sep 16 28 Nov - 2 Dec 16
Django Python Web Application Framework Course
19 - 23 Sep 16
Python Course: Extending and Embedding
28 Nov - 2 Dec 16
Munich / München:
Python Intensive Course
15 - 19 Aug 16
Python Course: Level II
28 Nov - 2 Dec 16
Django Python Web Application Framework Course
12 - 16 Dec 16
Python Text Processing and Computer Linguistics Course
12 - 16 Dec 16
Python Course: Extending and Embedding
28 Nov - 2 Dec 16
Paris:
Python Course: Level II
4 - 8 Jul 16
Python Text Processing and Computer Linguistics Course
21 - 25 Sep 16
The Hague / Den Haag:
Python Intensive Course
29 Aug - 2 Sep 16
Toronto:
Python Intensive Course
11 - 15 Jul 16 24 - 28 Oct 16
Python Course: Level II
5 - 9 Sep 16
Vienna / Wien:
Python Intensive Course
31 Oct - 4 Nov 16
Python Course: Level II
26 - 30 Sep 16
Django Python Web Application Framework Course
31 Oct - 4 Nov 16
Python Text Processing and Computer Linguistics Course
24 - 28 Oct 16
Python Course: Extending and Embedding
24 - 28 Oct 16
A Course is not a Course
The question is ambiguous. First we want to explain, why this website is called
"A Python Course". This website is seen all over the world
and the expression "course" has varying meanings in the English speaking world.
Both in the United States and Canada, a course is a teaching unit, which might last
e.g. one academic term. The students normally get a grade or some academic credit
for attending the course, usually after having passed an exam.
In the United Kingdom and Australia the term "course" usually defines the complete
programme of studies required to complete a major or a study path leading to a
university degree. The word "unit" is used in the UK to refer to an
academic course in the North American sense.
On the one hand, we had the US and Canadian sense in mind: Our Python is one teaching
unit and when you have successfully passed it, you are capable of programming
in Python. On the other hand, we had the original meaning of the word in mind:
A "course of instruction" as it might be used in book titles like "A Course in
Programming Python".


